<?php
/*****************************************************************************
 *                   Projet MESI : Algo génétique Asynchrone                 *
 *                      Guillaume MONTAVON & Renaud DAVID                    *
 *                                                                           *
 *           Fichier contenant le code HTML des 3 types de clients           *
 *****************************************************************************/
?>

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<title>Algo génétique Asynchrone</title>
	<meta name="robots" content="index, follow" />
	<meta name="description" content="Algo génétique Asynchrone" />
	<link rel="icon" type="image/x-icon" href="images/icones/favicon.ico" />
	
	<link type="text/css" href="css/style.css" rel="stylesheet" />

	<script type="text/javascript" src="js/fonctions.js"></script>
	<script type="text/javascript" src="js/clients.js"></script>

</head>
<body>

<div id="bandeau">
	<div style="margin: auto;margin-top: 0px;width:1000px; height:auto;">
		<div style="float: left;margin-top:5px;"><a href="index.php"><img src="images/accueil.png" border="0" alt="Accueil" title="Accueil"/></a></div>
		<div id="titre"><big><b>Algo génétique Asynchrone</b></big> <small>par Guillaume MONTAVON & Renaud DAVID</small></div>
	</div>
</div>

<div id="corps">

<?php

include_once("fonctions.inc.php");

if(isset($_GET['idProbleme']) and !empty($_GET['idProbleme']) and isset($_GET['typeClient']) and !empty($_GET['typeClient'])) {
	
	echo '<script language="javascript">var idProbleme = '.$_GET['idProbleme'].';var nbIndividus = 2000;</script>';
	
	switch($_GET['typeClient']) {
		//client de gestion des individus (création, évaluation, mutation, croisement)
		case 'gestionIndiv' : 
			?>
				<h1>Client de gestion des individus</h1><br/>
				
				<div id="contenu">
				
				Nombre d'initialisation effectués : <div style="display: inline;" id="creationIndiv">0</div><br/><br/>
				Nombre de mutations effectués : <div style="display: inline;" id="mutationIndiv">0</div><br/><br/>
				Nombre d'évaluation : <div style="display: inline;" id="evaluationIndiv">0</div><br/><br/>
				Nombre d'enfants généré avec la reproductions : <div style="display: inline;" id="reproductionIndiv">0</div><br/><br/>
				
				</div>
				
				<div id="loader" style="margin: auto;margin-top: 150px;width: 300px; height: 150px;">
					<center>Traitement en cours ...<br/><img src="images/charge128.gif" alt="chargement..." /></center>
				</div>
				<script language="javascript">
					window.onload = clientGestionIndiv();
				</script>
			<?php
		break;
		//client de prédation (tue les individus les plus faibles)
		case 'predation' : 
			?>
				<h1>Client de prédation</h1><br/>
				<div id="contenu">
				Nombre d'individus tués : <div style="display: inline;" id="predationIndiv">0</div>
				</div>
				<div id="loader" style="margin: auto;margin-top: 150px;width: 300px; height: 150px;">
					<center>Traitement en cours ...<br/><img src="images/charge128.gif" alt="chargement..." /></center>
				</div>
				
				<script language="javascript">
					window.onload = clientPredation();
				</script>
			<?php
		break;
		//client de contrôle (affiche les statistiques du problème)
		case 'controle' : 
			?>
				<h1>Client de contrôle</h1><br/>
				<div id="contenu">
			<?php
			
			$req = "SELECT * FROM probleme p, codage c WHERE c.id_codage = p.id_codage AND p.id_probleme = '".intval($_GET['idProbleme'])."'";
			$resPb = mysql_query($req);
			$pb = mysql_fetch_array($resPb);
			
			echo '<fieldset>
				<legend>Problème</legend><br/>
				<b>Nom : </b>'.$pb['nom_probleme'].', <b>auteur : </b>'.$pb['auteur'].', <b>date de création : </b>'.$pb['date_creation'].', <b>codage : </b>'.$pb['nom_codage'].'<br/>
				<b>min actif : </b><input id="minActif" type="text" name="minActif" value="'.$pb['min_actif'].'"/>
				<b> max actif : </b><input id="maxActif" type="text" name="maxActif" value="'.$pb['max_actif'].'"/>
				<b> max Création (condition d\'arrêt) : </b><input id="maxCrea" type="text" name="maxCreation" value="'.$pb['max_creation'].'"/>
				<b> traitement : </b>
				<select id="traitement" name="traitement">
					<option value="0"';if(intval($pb['traitement_actif']) == 0) echo 'selected="selected"';echo '>arrêté</option>
					<option value="1"';if(intval($pb['traitement_actif']) != 0) echo 'selected="selected"';echo '>actif</option>
				</select><br/><br/>';
		
			$req = "SELECT * FROM gene WHERE id_probleme = '".intval($_GET['idProbleme'])."'";
			$resGene = mysql_query($req);
			$compt = 0;
			while($gene = mysql_fetch_array($resGene)) {
				echo '<b>Gène '.$gene['nom_gene'].' : position : </b>'.$gene['position'].', <b>taille : </b>'.$gene['taille'].', <b>valeur_max : </b>'.$gene['valeur_max'].', <b>valeur_min : </b>'.$gene['valeur_min'].', <b>finesse : </b>'.$gene['finesse'].'<br/>';
				$compt++;
			}
			
			echo '<br/><input type="button" onClick="modifierTaillePop();" value="Modifier"></fieldset><br/><br/><fieldset>
				<legend>Meilleur individu</legend><br/>';
			$req = "SELECT COUNT(id_gene) FROM gene WHERE id_probleme = '".intval($_GET['idProbleme'])."'";
			$resNb = mysql_query($req);
			$nbGene = mysql_fetch_array($resNb);
			$nb = 0;
			
			if(isset($nbGene[0]))
				$nb = $nbGene[0];
			for($i = 0; $i < $nb; $i++)
				echo '<b>Gène '.($i+1).' : </b><div style="display: inline;" id="gene'.$i.'">Inconnu</div>, ';				
				
			?>
					<b>Fitness : </b><div style="display: inline;color: red;" id="fitness">Inconnu</div><br/><br/>
					<input type="button" onClick="MAJMeilleurIndiv();" value="Rafraichir">
					<div id="chargementMeilleurIndiv" style="display: none;"><img src="images/charge16.gif" alt="chargement..." style="vertical-align: middle;"/></div>
				</fieldset><br/><br/>
				
					<fieldset>
						<legend>Statistique</legend><br/>
						<b>Taille totale population : </b><div style="display: inline;" id="total">0</div>,
						<b>individus actifs : </b><div style="display: inline;" id="actif">0</div>,
						<b>Traitement : </b><div style="display: inline;" id="trait">Actif</div><br/><br/>
						<b>Individus évalués : </b><div style="display: inline;" id="eval">0</div>,
						<b>Individus non évalués : </b><div style="display: inline;" id="nonEval">0</div>,
						<b>Individus morts : </b><div style="display: inline;" id="mort">0</div>
						<br/>
						<br/><input type="button" onClick="MAJStat();" value="Rafraichir">
						<div id="chargementStat" style="display: none;"><img src="images/charge16.gif" alt="chargement..." style="vertical-align: middle;"/></div>
					</fieldset>
				</div>
				<script language="javascript">
					window.onload = MAJMeilleurIndiv();MAJStat();
					var intervalMeilleurIndiv = setInterval("MAJMeilleurIndiv();", 5000);
					var intervalStat = setInterval("MAJStat();", 5000);
				</script>
			<?php
		break;
		
		default :
			echo 'Veuillez choisir un type de client correct';
		break;
	
	}

}
else
	echo 'Veuillez choisir un problème et un type de client';

mysql_close($link);

?>
</div>
</body>
</html>